package Futbol_Liga;
/**
 * Klase honetan salgai dauden jokalarien zerrenda dago. 
 * Taldeak saldu nahi dituzten jokalariak hemen agertuko dira, eta horrela beste taldeek fitxatu nahi dituzten jokalariak hemendik hartuko dituzte.
 * @author Txantxangorriak
 *
 */
import java.util.ArrayList;
import java.util.Iterator;

public class Merkatua {
	
	private ArrayList<Jokalaria> jokalariak;
	private static Merkatua nireMerkatua;
	
	/**
	 * metodo eraikitzailea
	 */
	private  Merkatua() {
		jokalariak=new ArrayList<Jokalaria>();
		Jokalaria jok1=new Jokalaria("Martin", 21);
		Jokalaria jok2=new Jokalaria("Pello", 22);
		Jokalaria jok3=new Jokalaria("Eki", 23);
		jokalariak.add(jok1);
		jokalariak.add(jok2);
		jokalariak.add(jok3);
				
	}
	/**
	 * DMA bat denez, jokalarien merkatua sortzen duen metodo estatikoa da
	 * @return Merkatua
	 */
	public static Merkatua getMerkatua(){
		if (nireMerkatua==null){
			nireMerkatua=new Merkatua();
		}
		return nireMerkatua;
	}
	/**
	 * Zerrendako iteratzailea bueltatuko du
	 * @return Iterator<Jokalaria>
	 */
	public Iterator<Jokalaria> getIteratzailea(){
		return jokalariak.iterator();
	}
	/**
	 * Ligako jokalari bat saldu nahi izatekotan, jokalaria gehituko du jokalari zerrendara
	 * @param pTaldea
	 * @param pJokalaria
	 */
	public void saldu(String pTaldea, String pJokalaria){
		
		TaldeZerrenda tz =TaldeZerrenda.getTaldeZerrenda();
    	Taldea talde=tz.getTaldea(pTaldea);
         Jokalaria jok=talde.jokalariaSaldu(pJokalaria);
    	jokalariak.add(jok);
    	
	}
	/**
	 * Aurreko metodoaren antzera, jokalaria fitxatu nahi izatekotan, zerrendatik ezabatuko du
	 * @param pJok
	 */
	public void fitxatu(Jokalaria pJok){
		jokalariak.remove(pJok);
		
	}

}
